The location of an element within an area may be described graphically by plotting the element on an image of the area or in writing by describing the location of the element using text. It is generally easier to comprehend a graphical description of the location of an element than a textual description of the location of an element. For example, the location of a building may be described by a map showing the location of the building or may be described by an address for the building. It is easier to obtain information about the location of a building using a map than using an address, especially if the building is located in an unfamiliar area. Another advantage of using a map is that a map conveys information about the surrounding area which an address may not convey. A map may show that a building is located near a landmark, whereas, an address may not indicate that a building is located near a landmark.
The location of a business may be a critical factor in a consumer's decision to patronize the business. For example, location is usually important to a traveler when selecting a hotel. A business traveler may desire a hotel located near an airport or near a customer's place of business. A recreational traveler may desire a hotel located near a beach or near a theme park. An address may not help a traveler select a hotel located near a landmark because an address may not convey information about the area surrounding the hotel. However, a map may help a traveler select a hotel located near a landmark because a map conveys information about the location of the hotel as well as the surrounding area. Ideally, a traveler may evaluate the location of a hotel by viewing the hotel plotted on a map of the area before the traveler makes a reservation at the hotel.
For any given area, there may be a number of hotels within the area. By viewing the locations of the different hotels within the area, a traveler may select a hotel based upon location. However, if there are a large number of hotels within the area, a traveler may wish to view only the locations of those hotels which provide certain amenities or which fall within a certain price range. The hotels within the area may be filtered by eliminating the hotels that do not provide the amenities specified by the traveler and the hotels that do not fall within the price range specified by the traveler. The traveler may view each of the remaining hotels on a map of the area to select a hotel based on location, amenities and price. A method for quickly filtering hotel data and a method for quickly and accurately plotting hotels on a map are needed so that the traveler can evaluate hotels based upon location, amenities and price.
The data for the location, amenities and price of a hotel, as well as the data for a map of the area may be available on a network such as the Internet. In a networked environment, the data for an element such as a hotel may be stored in a remote memory storage device. Similarly, the data for an image such as a map may be stored in a remote memory storage device. In a networked environment, the program modules for plotting an element on an image are distributed between a client and a server. Current technologies for distributing program modules for plotting an element on an image between a client and a server include server technology, client technology, and client-server technology.
In any of the current technologies, the client sends a request to a server to plot an element on an image. In response to the request from the client, the server obtains data for the element and the image from a remote memory storage device. To plot an element on an image using server technology, the server uses the data for the element and the image to create a new image. Once the new image is created, the server sends the new image to the client. The client displays the new image using a program module commonly referred to as browsing software. An advantage of server technology is that the new image is independent of the browsing software used by the client. Another advantage of server technology is that only the new image is sent to the client. The client does not receive the code to generate the new image because the new image is created by the server. A disadvantage of server technology is that there is a significant delay between the plotting request and the display of the element plotted on the image. The delay is due to the server performance required to generate and send a new image. A new image is used for each element plotted on the image.
Client technology shifts the performance requirement from the server to the client. To plot an element on an image using client technology, the client downloads the element data and the image data from the server. The client also downloads a program module to plot an element on an image. The image is created and the element is plotted on the image by the client using the downloaded program module. An advantage of client technology is that once the data and the program module have been downloaded by the client, the element may be quickly plotted on the image. A disadvantage of client technology is that a lengthy delay is incurred when the client downloads the data and the program module. Another disadvantage of this technology is that the program module to plot an element on an image may only operate with certain operating systems or browsing software.
Client-server technology is a mixture of client technology and server technology. The program module to plot an element on an image resides in the client and data for the element and the image reside in the server. An advantage of client-server technology is that client download time and server performance time are reduced. A disadvantage of this technology is that it may not be platform independent. A modified client-server technology is needed which retains the advantages of the current client-server technology and is independent of the platform used by the client.
Accordingly, there is a need for a method and system for dynamically plotting an element on an image quickly and accurately.